/**------File Info----------------------------------------------
** File name:               Frame_io.h
** Latest modified date:    2024-9-25
** Latest version:          V1.0.0
** Description:             GPIO控制
** 包含IO设置 1:高低 2:定时反转 3:高后变低 4:低后变高
**------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Description:
**
*************************************************************/
#ifndef __FRAME_IO_H__
#define __FRAME_IO_H__ 
#include "stdint.h"
// 定义IO状态枚举
typedef enum{
    IO_Stage_LOW = 0,              // 低电平
    IO_Stage_HIGH,          // 高电平
    IO_Stage_Toggle,        // 定时反转
    IO_Stage_HighToLow,     // 高后变低
    IO_Stage_LowToHigh,     // 低后变高
} IO_Stage;
// 定义IO控制结构体
struct SIOControl_Struct{
    uint8_t state;          // IO状态
    uint8_t onoff;          // IO开关
    float cycle;            // 周期
    float keep;             // 保持时间
    uint32_t startTime;
    void(*SetIOLeave)(uint8_t leave); // IO回调函数
};
// 定义IO控制结构体指针
typedef struct SIOControl_Struct IOControl_Struct;
typedef IOControl_Struct* PIOControl_Struct;


#endif // !__FRAME_IO_H__

